#include <iostream>

// 递归终止条件
template <typename T>
void print(T value) {
    std::cout << value << std::endl;
}

// 递归解包函数
template <typename T, typename... Args>
void print(T head, Args... tail) {
    std::cout << head << ", ";
    print(tail...);
}

int main() {
    print(1, 2.0, "Hello");
}